﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Data;
using System.Text.RegularExpressions;

namespace CityGames
{
    public partial class Noticia : System.Web.UI.Page
    {
        private string expReid = @"^(\d{1,4})?$";
        Socio socio = new Socio();
        ENNoticia noticia = new ENNoticia();

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                int idNoticia = 0;

                // Comprobar que Request.QueryString["id"] es numero, > 0 y < que noticia.UltimoID() 
                if (Request.QueryString["id"] != null && Regex.Match(Request.QueryString["id"], expReid).Success && int.Parse(Request.QueryString["id"]) > 0 && int.Parse(Request.QueryString["id"]) <= noticia.UltimoID())
                {
                    if (noticia.Existe(int.Parse(Request.QueryString["id"])))
                    {
                        idNoticia = int.Parse(Request.QueryString["id"]);

                        if (!IsPostBack)
                        {
                            bannerNoticia.ImageUrl = "BannerNoticias/" + idNoticia + ".jpg";
                            noticia = noticia.DatosNoticia(idNoticia);
                            plataforma.Text = "<a href=\"ListaNoticias.Aspx?pl=" + noticia.IdPlataforma + "\" class=\"linkplataforma\">" + noticia.IdPlataforma + "</a>";
                            if (noticia.IdJuego == "")
                            {
                                juego.Visible = false;
                                lbJuego.Visible = false;
                                puntitoJuego.Visible = false;
                            }
                            else
                            {
                                juego.Visible = true;
                                lbJuego.Visible = true;
                                puntitoJuego.Visible = true;
                                juego.Text = "<a href=\"Juego.Aspx?juego=" + noticia.IdJuego + "&plataforma=" + noticia.IdPlataforma + "\" class=\"linkplataforma\">" + noticia.IdJuego + "</a>";
                            }

                            lbTitulo.Text = noticia.Titulo;
                            lbSubtitulo.Text = noticia.Subtitulo;
                            string nombre = socio.ObtenerNombreSocio(noticia.IdCreador);
                            string fecha = noticia.FechaReg.ToString();
                            lbCreador.Text += nombre + ", " + fecha.Remove(16);

                            string inputString;
                            string fichero = Server.MapPath("./Noticias/");
                            fichero += idNoticia + ".txt";
                            using (StreamReader streamReader = new System.IO.StreamReader(fichero, System.Text.Encoding.Default))
                            {
                                inputString = streamReader.ReadLine();
                                while (inputString != null)
                                {
                                    lbContenidoFich.Text += inputString + "<br/>";
                                    inputString = streamReader.ReadLine();
                                }
                            }
                        }
                    }
                    else
                    {
                        // Redireccionar (no ha introducido una noticia existente en la URL)
                        Response.Redirect("Home.aspx");
                    }
                }
                else
                {
                    // Redireccionar (no ha introducido una noticia existente en la URL)
                    Response.Redirect("Home.aspx");
                }
            }
            catch
            {
                MyMessageBoxInfo.Show(MyMessageBox.MessageType.Error, "Ha ocurrido un error. Disculpen las molestias", "ERROR", 200, 300);
            }
        }
    }
}